--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Commit c3a000aa9972aa5c15e6f37c0615171d3a7f0589
Parents : 2830198
Author : Sudo-Ivan <ivan@quad4.io>
Signature : Signature validation error
Date : 2026-01-01T21:09:03-06:00
feat(android): add tasks for Android project initialization, preparation, and building APKs
Changes
Diff
diff --git a/Taskfile.yml b/Taskfile.yml
index 360f956e..5755745d 100644
--- a/Taskfile.yml
+++ b/Taskfile.yml
@@ -124,6 +124,7 @@ tasks:
- rm -rf dist
- rm -rf python-dist
- rm -rf meshchatx/public
+ - task: android-clean
sync-version:
desc: Sync version numbers across project files
@@ -164,3 +165,48 @@ tasks:
desc: Run Frontend-only Demo Docker container
cmds:
- 'MESHCHAT_DEMO_IMAGE="reticulum-meshchatx-demo:local" {{.DOCKER_COMPOSE_CMD}} -f docker-compose.demo.yml up --remove-orphans'
+
+ android-init:
+ desc: Initialize Gradle wrapper for Android project
+ cmds:
+ - |
+ if [ ! -f android/gradle/wrapper/gradle-wrapper.jar ]; then
+ echo "Downloading Gradle wrapper jar..."
+ mkdir -p android/gradle/wrapper
+ curl -L -o android/gradle/wrapper/gradle-wrapper.jar \
+ https://raw.githubusercontent.com/gradle/gradle/v8.12.1/gradle/wrapper/gradle-wrapper.jar || \
+ echo "Failed to download. Please run: cd android && gradle wrapper --gradle-version 8.12.1"
+ else
+ echo "Gradle wrapper already initialized."
+ fi
+
+ android-prepare:
+ desc: Prepare Android build (copy meshchatx package and assets)
+ deps: [build, android-init]
+ cmds:
+ - |
+ echo "Copying meshchatx package to Android project..."
+ mkdir -p android/app/src/main/python
+ cp -r meshchatx android/app/src/main/python/
+ - |
+ echo "Android build prepared. Don't forget to:"
+ echo "1. Add Chaquopy license to android/local.properties"
+ echo "2. Open android/ in Android Studio or run: task android-build"
+
+ android-build:
+ desc: Build Android APK (requires Android SDK and Chaquopy license)
+ deps: [android-prepare]
+ cmds:
+ - cd android && ./gradlew assembleDebug
+
+ android-build-release:
+ desc: Build Android APK (release, requires signing config)
+ deps: [android-prepare]
+ cmds:
+ - cd android && ./gradlew assembleRelease
+
+ android-clean:
+ desc: Clean Android build artifacts
+ cmds:
+ - cd android && ./gradlew clean
+ - rm -rf android/app/src/main/python/meshchatx
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────